function getSelectedText() {
    var txt = '';
    if (window.getSelection) txt = window.getSelection();
    else if (document.getSelection) txt = document.getSelection();
    else if (document.selection) txt = document.selection.createRange();
    return txt.toString().replace(' ','');
}

function addQoutePointer(e) {
    if(getSelectedText()) {
        if($('#quotePointer').css('display') == 'block') {
            $('#quotePointer').fadeOut(300, function(){
                $('#quotePointer').css({'top':e.pageY-70, 'left':e.pageX-55}).fadeIn(300);
            });
        } else $('#quotePointer').css({'top':e.pageY-70, 'left':e.pageX-55}).fadeIn(300);
    } else {
        $('#quotePointer').fadeOut(300)
    }
}

$(document).ready(function() {
    var onBodyClickRemuve = 0;
    var quoteText, userName, date, themeId;
    
    $('.showForm').click(function() {
        console.log('showForm');
        var display = $('.newThemeForm').css('display');
        if(display == 'block') {
            $('.newThemeForm').fadeOut(300);
        } else $('.newThemeForm').fadeIn(300);
    });
    
    $('.addComment').click(function(){
        var time = ($('#form').offset().top - $(this).offset().top) / 2.5;
        $('#commentFileUpload').css('display', 'block');
        $.scrollTo($(this).attr('href'), time);
        $('#themeId').val($(this).attr('data-id'));
        return true;
    });
    
    $('.commentByName').click(function() {
        var text = $(this).children('.login').html();
        tinyMCE.execInstanceCommand('editor', 'mceInsertContent', false, ' <b>'+text+',</b> ');
        $('#commentFileUpload').css({'display':'block'});
        $.scrollTo($(this).attr('href'), ($('#form').offset().top - $(this).offset().top) / 2.5);
        $('#themeId').val($(this).attr('data-id'));
        return true;
    });
    
    $('.quoteText').click(function() {
        tinyMCE.execInstanceCommand("editor","mceInsertContent",false,'[quote="'+userName+'" date="'+date+'"]<br/>'+quoteText+'[/quote]<br/>');
        $('#quotePointer').fadeOut(300);
        $('#commentFileUpload').css({'display':'block'});
        $.scrollTo($(this).attr('href'), ($('#form').offset().top - $(this).offset().top) / 2.5);
        return true;
    });
    
    $('body').mouseup(function() {
        if(onBodyClickRemuve) {
            $('#quotePointer').fadeOut(300);
        } else onBodyClickRemuve = 1;
    });
    
    $('.messageText').mouseup(function(e) {
        if(page != 'index') {
            onBodyClickRemuve = 0;
            userName = $(this).parent().children('.post_header').children('.commentByName').children('.login').html();
            if(userName === null) 
                userName = $(this).parent().children('.post_header').children('.commentGuestOnMain').children('.login').html();
            date = $(this).parent().children('.post_header').children('.date_forum_post').html();
            quoteText = getSelectedText();
            setTimeout(addQoutePointer, 100, e);
        }
    });
    
    $('.qouteMessage').click(function() {
        var time = ($('#form').offset().top - $(this).offset().top) / 2.5;
        $('#commentFileUpload').css({'display':'block'});
        var date = $(this).parent().children('.messageInfo').children('.date').html();
        var txt = $(this).parent().children('.messageText').html();
        var user = $(this).parent().children('.messageInfo').children('a.commentByName:first').children('.login').html();
        tinyMCE.execInstanceCommand('editor', 'mceInsertContent', false, '[quote="'+user+'" date="'+date+'"]<br/>'+txt+'[/quote]<br/>');
        $.scrollTo($(this).attr('href'), time);
        $('#themeId').val($(this).attr('data-id'));
        return true;
    });
    
    $('.delForumCom').click(function(){
        if(confirm("Вы уверены?")) {
            $.get('/ajax/delFofumCom', 'id='+$(this).parent().children('div').html(), function() {location.reload();});
        }
    });
    
    $('.delForumTh').click(function(){
        if(confirm("Вы уверены?")) {
            var targetTheme = $(this).parent().parent().parent();
            $.get('/ajax/delFofumTh', 'id='+$(this).attr('data-id'), function(){
                if(forumUrl) window.open(forumUrl,"_self");
                else location.reload();
            });
        }
    });
    
    $('.banByIp').click(function(){
        var days = prompt('На сколько дней? 0 = навсегда. Можно дроби(0.5 = 12ч)', 1);
        console.log(days);
        if(!isNaN(days) && days !== null) {
           if(days > 1000) days = 1000;
           $.get('/ajax/banIp', {'ip':$(this).html(), 'days':days}, function() {alert('Этот IP теперь в списке блокированных')});
        }
    });
    
    $('.banUser').click(function(){
        var days = prompt('На сколько дней? 0 = навсегда. Можно дроби(0.5 = 12ч)', 1);
        if(!isNaN(days) && days !== null) {
           if(days > 1000) days = 1000;
           $.get('/ajax/banUser', {'id':$(this).children('div').html(), 'days':days}, function(data) {
               if(data == 'role conflict') alert('Этого пользователя нельзя заблдокировать. Пожалуйста свяжитесь с администратором.');
               else alert('Этот пользователь теперь в списке блокированных');
           });
        }   
    });
    
    $('.commentGuestOnMain').click(function(){
        var targetThemeUrl = $(this).parent().children('.themeUrl').html();
        var targetThemeId = $(this).parent().children('div:first').html();
        var targetHtml = $(this).parent().children('.comCounter').html();
        $.get('/ajax/getForumMesagePage', {'need':targetHtml.replace('#', ''), 'themeId':targetThemeId}, function(data){
            tinyMCE.execInstanceCommand('editor', 'mceInsertContent', false, ' <a href="'+targetThemeUrl+'?page='+data+targetHtml+'">'+targetHtml+'</a>, ');
            $('#themeId').val(targetThemeId);
        });
        $('#commentFileUpload').css({'display':'block'});
        $.scrollTo($(this).attr('href'), 300);
        return true;
    });
    
    $('.close_form').click(function() {
        var item = $(this).parent().parent().parent().parent();
        console.log(item.attr('class'));
        if(item.attr('class') == 'newThemeForm') {
            item.fadeOut(300);
        } else if(item.attr('class') == 'padding040') {
            item.parent().fadeOut(300);
        }
    });
});
